import store from "../store";
// 导出
export default (app) => {
    app.directive('has-button', {
        // 或事件监听器应用前调用
        created(el, binding, vnode) {
            // 下面会介绍各个参数的细节
        },
        // 在元素被插入到 DOM 前调用
        beforeMount(el, binding, vnode) {},
        // 在绑定元素的父组件
        // 及他自己的所有子节点都挂载完成后调用
        mounted(el, binding, vnode) {
            const value = binding.value
            const buttonAuth = store.state.permission.buttonList
            const isAdmin = store.state.permission.admin
            if(!isAdmin && !buttonAuth.includes(value)) {
                el.parentNode.removeChild(el)
            }
        },
        // 绑定元素的父组件更新前调用
        beforeUpdate(el, binding, vnode, prevVnode) {},
        // 在绑定元素的父组件
        // 及他自己的所有子节点都更新后调用
        updated(el, binding, vnode, prevVnode) {},
        // 绑定元素的父组件卸载前调用
        beforeUnmount(el, binding, vnode) {},
        // 绑定元素的父组件卸载后调用
        unmounted(el, binding, vnode) {}
    })
}